Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
configure el manejo de gestos del widget de GoogleMap en "codicioso" en flutter

Estoy trabajando en una aplicación web flutter y estoy usando el widget GoogleMap. Hay varios modos de interacción (gestureHandling) que Google pone a disposición en la versión de JavaScript ( Interaction doc ).

Por defecto, el mapa está en modo "codicioso", pero cuando cambio el tamaño del navegador de Internet, entra en modo "cooperativo"... y en este momento, cuando quiero hacer zoom en mi mapa, tengo que mantener la tecla CTRL y no me gusta nada

Me muestra: "Use ctrl + scroll para hacer zoom en el mapa".

Entonces, en mi proyecto, quiero configurar el mapa en el modo de interacción "codicioso", pero el widget de GoogleMap no tiene ningún parámetro para hacerlo.

Encontré una solución alternativa que consiste en pasar por JavaScript para presionar programáticamente el botón CTRL cuando hay una acción de la rueda en el mapa.

 <!-- In web/index.html --> <!-- ... --> <head> <!-- ... --> <script src="script.js" defer></script> <!-- ... --> </head> <!-- ... -->
 // In web/script.js function initScrollListener(id) { try { var map = document.getElementById('plugins.flutter.io/google_maps_' + id); map.addEventListener('wheel', wheelEvent, true); } catch (error) { console.error(error); } } function wheelEvent(event) { Object.defineProperty(event, 'ctrlKey', { value: true }); }
 // In lib/main.dart (or anywhere in your project) import 'dart:js' as js; import 'package:flutter/foundation.dart'; //... in my widget ...// @override Widget build(BuildContext context) { return GoogleMap( //...// onMapCreated: (GoogleMapController controller) { //Call the JavaScript function if(kIsWeb) js.context.callMethod('initScrollListener', [controller.mapId]); }, ); } //...//

Funciona bastante bien, pero no estoy muy seguro de esta solución.

Ahora estoy tratando de encontrar una manera de recuperar la instancia de google.maps.Map e intento configurar manualmente el modo de interacción "codicioso".

Si tienes alguna sugerencia ^^ ¡Gracias!

Recursos Relacionados:

  • Flutter problema 95774
  • Tirón de aleteo 3943
over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda